<?php
function check_permission_array($arr)
{
	return check_permission($arr['security_level'], $arr['security_group']);
}

function check_permission($security_level, $security_group)
{
	global $userinfo, $loggedin;
	
	if ($security_level == 'public')
		return true; // laat alles wat publiek is toe
	
	// Vanaf hier behandelen we niet-publieke zaken. Als we dus niet zijn ingelogd,
	// kunnen we niet verder gaan.
	if (!$loggedin) 
		return false;
	
	$user_level = $userinfo['group_level'];
	$wildcard = ($security_group == 0);
	$groupmatch = ($security_group == $userinfo['usergroupid']);
	if ($user_level == 'admin')
	{
		if ($security_level != 'admin') // alles lager dan admin toelaten
		{
			return true;
		}
		else if ($groupmatch || $wildcard) // admin niveau, groep vergelijken
		{
			return true;
		}
		return false;
	}
	
	if ($user_level == 'moderator')
	{
		// alles lager dan moderator toelaten
		if ($security_level == 'member')
		{
			return true;
		}
		else if ($security_level == 'moderator' && ($groupmatch || $wildcard))
		{
			return true;
		}
		return false;
	}
	
	if ($user_level == 'member')
	{
		if ($security_level == 'member' && ($groupmatch || $wildcard))
		{
			return true;
		}
		return false;
	}
	return false;
}
?>